package org.fjsei.yewu.jyjc.model;

import com.alibaba.fastjson2.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

/**
 * 已注册设备基本信息查询接口请求参数表
 *
 * @author hjz
 * @since 2023/10/24 上午10:49
 */
@EqualsAndHashCode(callSuper = true)
@Data
@SuperBuilder(toBuilder = true)
@NoArgsConstructor
@AllArgsConstructor
public class AmrEqpQry extends AbstractAmrPageQry {
    /**
     * 说明：使用单位社会信用代码
     * 数据类型及格式：C18
     * 是否必填：否
     **/
    @JSONField(name = "USE_UNT_COD")
    private String useUntCod;

    /**
     * 说明：使用单位名称
     * 数据类型及格式：C..100
     * 是否必填：否
     **/
    @JSONField(name = "USE_UNT_NAME")
    private String useUntName;

    /**
     * 说明：设备所属区域(区域代码)
     * 数据类型及格式：C..12
     * 是否必填：否
     **/
    @JSONField(name = "EQP_AREA_COD")
    private String eqpAreaCod;

    /**
     * 说明：设备种类
     * 数据类型及格式：C4
     * 是否必填：否
     **/
    @JSONField(name = "EQP_TYPE_NAME")
    private String eqpTypeName;

    /**
     * 说明：设备识别码
     * 数据类型及格式：C10
     * 是否必填：否
     **/
    @JSONField(name = "OIDNO")
    private String oidno;

    @JsonProperty(value = "EQP_COD")
    private String eqpCod;

    /**
     * 说明：管道单元-开始日期 yyyy-MM-dd HH:mm:ss
     * 数据类型及格式：D
     * 是否必填：否
     **/
    @JSONField(name = "BEGIN_PIPE_DATE")
    private String beginPipeDate;

    /**
     * 说明：管道单元-结束日期 yyyy-MM-dd HH:mm:ss
     * 数据类型及格式：D
     * 是否必填：否
     **/
    @JSONField(name = "END_PIPE_DATE")
    private String endPipeDate;

    /**
     * 说明：当前子记录起始索引（根据oidno获取管道单元分页）
     * 数据类型及格式：N
     * 是否必填：否
     **/
    @JSONField(name = "SUB_PAGE_NUM")
    private String subPageNum;

    /**
     * 说明：每页显示子记录数（根据oidno获取管道单元分页）
     * 数据类型及格式：N
     * 是否必填：否
     **/
    @JSONField(name = "SUB_PAGE_SIZE")
    private String subPageSize;

    @JSONField(name = "PARA_TABLE_NAME")
    private String paraTableName;

    @JSONField(name = "OPE_USER_ID")
    private String opeUserId;

    @JSONField(name = "returntype")
    private String returntype;

}
